1. Field of the Invention
The present invention relates to a method, system, and program for transmitting tasks from one processor to another.
2. Description of the Related Art
Disaster recovery systems can address a sudden catastrophic failure in which data is lost at a location. To assist in recovery of data updates, a copy of data may be provided at a remote location. Such dual or shadow copies are typically made as the application system is writing new data to a primary storage device.
International Business Machines Corporation (IBM), the assignee of the subject patent application, provides several remote mirroring systems, including, for example: a synchronous Peer-to-Peer Remote Copy (PPRC®) service and a PPRC® Extended Distance service in an Enterprise Storage Server (ESS) system. Some IBM mirroring systems are described in IBM publication “Remote Copy: Administrator's Guide and Reference,” IBM document no. SC35-0169-02 (IBM Copyright 1994, 1996). The synchronous PPRC ® service provides a technique for recovering data updates that occur between a last, safe backup and a system failure. Such data shadowing systems can also provide an additional remote copy for non-recovery purposes, such as local access at a remote site. With the synchronous PPRC® service, a primary storage subsystem maintains a copy of predefined datasets on a secondary storage subsystem. The copy may be used for disaster recovery. Changes to data are copied to the secondary storage subsystem as an application updates the data. The copy is maintained by intercepting write instructions to the synchronous PPRC® dataset and generating appropriate write instructions from the primary storage system to the secondary storage system. The write instructions may update data, write new data, or write the same data again. The synchronous PPRC® service copies data to the secondary storage subsystem to keep the data synchronous with a primary storage subsystem. That is, an application system writes data to a volume and then transfers the updated data over, for example, Enterprise System Connection (ESCON®) fiber channels to the secondary storage subsystem. The secondary storage subsystem writes the data to a corresponding volume.
With synchronous PPRC®, the copy at the secondary storage subsystem is maintained by intercepting write instructions to the dataset at the primary storage subsystem and generating appropriate write instructions from the primary storage system to the secondary storage system. PPRC® Extended Distance service does not write to secondary storage subsystem before acknowledging to the host the write to the primary. Instead, for the PPRC® Extended Distance service, when a track is written, information is stored that indicates that the track is to be transferred to the secondary storage subsystem at a later time. An asynchronous process collects updates at the primary storage subsystem and sends the updates to the secondary storage subsystem.
Computing systems often include one or more host computers (“hosts”) for processing data and running application programs, direct access storage devices (DASDs) for storing data, and a storage controller for controlling the transfer of data between the hosts and the DASD. Storage controllers, also referred to as control units or storage directors, manage access to a storage space often comprised of numerous hard disk drives connected in a loop architecture, otherwise referred to as a Direct Access Storage Device (DASD). Hosts may communicate Input/Output (I/O) requests to the storage space through the storage controller. To maintain availability in the event of a failure, many storage controllers known in the prior art provide redundant hardware clusters.
Each hardware cluster comprises a processor complex, cache, non-volatile storage (NVS), such as a battery backed-up Random Access Memory (RAM), and separate power supply to provide connection paths to the attached storage. The NVS in one cluster backs up write data from the cache in the other cluster so that if one cluster fails, the write data in the cache of the failed cluster is stored in the NVS of the surviving cluster. After one cluster fails, all Input/Output (I/O) requests would be directed toward the surviving cluster. When both clusters are available, each cluster may be assigned to handle I/O requests for specific logical storage devices configured within the physical storage devices.
Each storage controller may have an adapter to communicate over a network with a host computer or another storage controller. For example, the write instructions from the primary storage controller to the secondary storage controller may be generated by a processor of the adapter of the primary storage controller and issued over the network to the secondary storage controller. The network may comprise a Storage Area Network (SAN), Local Area Network (LAN), Intranet, the Internet, Wide Area Network (WAN), etc.
The adapter as well as the clusters of the storage controller may each have a mail manager process to communicate with each other. For example, as shown in FIG. 1, an application program 18 operating under an operating system 20 of one cluster 21 can instruct its mail manager process 22 to send a task, subtask or other remote operation request to a network adapter 23. The mail manager process 22 of the cluster folds the remote operation requests into mail messages which are placed in an outgoing mail queue 28. The mail manager process 22 pulls the mail messages from the outgoing mail queue 28 and stores the mail messages containing the remote operation requests in a memory area of the adapter referred to as an incoming mail queue 30. Conversely, an application program 38 operating under an operating system 40 of the adapter 23 can instruct its mail manager process 42 to send a task, subtask or other remote operation request to the cluster 21. The mail manager process 42 of the adapter 23 pulls the mail messages from the outgoing mail queue 48 and stores the mail messages containing the remote operation requests in a memory area in an incoming mail queue 50 of the cluster 21.